1.1 Field of the Invention
The present invention relates to a method for processing of start conditions of activities within a process model processable by a Workflow Management System (WFMS) or a computer system with comparable functionality.
1.2 Description and Disadvantages of Prior Art
A new area of technology with increasing importance is the domain of Workflow-Management-Systems (WFMS). WFMS support the modeling and execution of business processes. Business processes control which piece of work of a network of pieces of work will be performed by whom and which resources are exploited for this work, i.e. a business process describes how an enterprise will achieve its business goals. The individual pieces of work might be distributed across a multitude of different computer systems connected by some type of network.
The correct and efficient execution of business processes within a company, e.g. development or production processes, is of enormous importance for a company and has significant influence on company's overall success in the market place. Therefore, those processes have to be regarded similar as technology processes and have to be tested, optimized and monitored. The management of such processes is usually performed and supported by a computer based process or workflow management system.
The “IBM FlowMark for OS/2”, document number GH 19-8215-01, IBM Corporation, 1994, available in every IBM sales office, represents a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities; refer for instance to “Modeling Workflow”, document number SH 19-8241, IBM Corporation, 1996. As further information on Workflow Management Systems available in IBM sales offices one could mention: IBM MQSeries Concepts and Architecture, document number GH 12-6285; IBM MQSeries Getting Started with Buildtime, document number SH 12-6286; IBM MQSeries Getting Started with Runtime, document number SH 12-6287. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities or workitems which are performed. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via the IBM FlowMark Definition Language (FDL) or the built-in graphical editor. The runtime component of the workflow manager interprets the process graph and distributes the execution of activities to the right person at the right place, e.g. by assigning tasks to a work list according to the respective person, wherein said work list is stored as digital data within said workflow or process management computer system.
For implementing a computer based process management system, firstly the business processes have to be analyzed and, as the result of this analysis, a process model has to be constructed as a network of activities corresponding to the business process. In the IBM FlowMark product, the process models are not transformed into an executable. At run time, an instance of the process is created from the process model, called a process instance. This process instance is then interpreted dynamically by the IBM FlowMark product.
A user typically interacts with the workflow management system via a graphical end user that represents the tasks to be performed by the user as icons. Work for a particular task is started by the user by double-clicking on the appropriate icon which in turn starts the program implementing the activity.
As outlined above within a process model control connectors connect one activity, the source activity, with another activity, the target activity. If an activity is the source of multiple control connectors, the activity is called a fork activity. All activities that are target activities of the control connectors leaving the fork activity, are executed in parallel. An activity that is the target of multiple control connectors is called a join activity. All activities are associated with conditions that define when the activity can be carried out and when the activity has completed successfully. Join activity have an additional condition that defines when an activity with incoming control connectors can start. This condition is called a start condition. Only if evaluation of the start condition evaluates to TRUE the actual processing of the target activity can be started, for instance by proceeding with the processing of activation conditions, which may specify additional criteria that must be met before the target activity can be carried out.
The following approaches of treating start conditions are known in the state of the art:
Only MQSeries Workflow supports start conditions as part of its meta model, i.e. within the process model. All other workflow management systems do not support this type of condition for activities. In this latter case, the activation condition is checked immediately after one control connector has entered the join node; in other words, no start condition processing is offered as processing of the target activities is started immediately once one control connector is posting a logical value of TRUE to the target activity. The workflow does not wait for other control connectors to enter the activity. If a second control connector enters the activity, the activity is carried out a second time. It is the responsibility of the process designer to make sure that this either does not happen or that the second processing of the activity does not produce any negative effects. MQSeries Workflow implements a simple version of a start condition. The join activity is treated as a synchronization point. Evaluation of the start condition is not performed until all incoming control connectors have entered the activity. The only two settings that the start condition supports are ALL or LEAST ONE. If ALL is specified, all incoming control connectors must have evaluated to TRUE; if AT LEAST ONE is specified, at least one of the incoming control connectors must have been evaluated to TRUE.
Neither approach, that means no start conditions at all or the synchronization type of start condition, is completely satisfactory. With the current technology not all types of relationships between incoming control connectors can be handled. Thus the current technology requires that the activity itself would have to take over certain checks with respect to the status of other incoming control connectors; this contradicts the fundamental approach of WFMS, namely to extract from a network of interacting activities all control information with respect to that interaction making the individual activities self-contained programs with respect to that interaction.
1.3 Objective of the Invention
The invention is based on the objective to improve capabilities for defining and for computation of start conditions of activities within a process model processed by a Workflow Management System (WFMS).